In order to increase transmission efficiency in a communication system, channel coding, such as turbo coding, is used.
FIG. 1 illustrates a conventional turbo encoder 100, referring to FIG. 1, the conventional turbo encoder 100 includes two 8-state configuration encoders 101 and 103 and a turbo code internal interleaver 102, and performs channel coding using a Parallel Concatenated Convolutional Code (PCCC). Also, output data of data Xk that is input to the conventional turbo encoder 100 is Xk, Z′k, Z′k, and X′k.
The turbo code internal interleaver 102 includes an address generator that generates an address of the input data Xk using an address generator polynomial and interleaves the input data Xk according to the generated address.
The paper titled, ‘On Maximum Contention-Free Interleavers and Permutation Polynomials Over Integer Rings’ (IEEE Trans. On Information Theory, Vol. 52, No. 3, March 2006, Oscar Y. Takeshita) (hereinafter, ‘reference 2’) discloses a data interleaving method for performing data interleaving and deinterleaving in parallel, preventing address collision in parallel processing, and simplifying the complexity of hardware. According to the data interleaving method described in reference 2, an interleaving address of data is calculated using an address generator polynomial of an interleaver, and the data is interleaved according to the calculated address.